package com.yeyks.consumer.service.impl;

import com.yeyks.common.base.PageInfo;
import com.yeyks.common.em.FishBallEnum;
import com.yeyks.common.utils.ObjectConvertUtil;
import com.yeyks.consumer.dal.domain.FishBallBill;
import com.yeyks.consumer.dal.dao.FishBallBillMapper;
import com.yeyks.consumer.dto.FishBallBillDTO;
import com.yeyks.consumer.service.FishBallBillService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;


/**
 * <p>
 * 鱼宝明细表 服务实现类
 * </p>
 *
 * @author yun
 * @since 2019-06-25
 */
@Service
public class FishBallBillServiceImpl extends ServiceImpl<FishBallBillMapper, FishBallBill> implements FishBallBillService {


    /**
     * 分页获取鱼宝明细
     *
     * @param userId
     * @param pageNo
     * @param pageSize
     * @return
     */
    @Override
    public List<FishBallBillDTO> list(Integer userId, Integer pageNo, Integer pageSize) {
        PageInfo of = PageInfo.of(pageNo, pageSize);
        Map<String, Object> map = new HashMap<>();
        map.put("userId", userId);
        map.put("limit", of.getLimit());
        map.put("offset", of.getOffset());
        List<FishBallBill> fishBallBills = baseMapper.list(map);
        return getFishBallBillDTO(fishBallBills);
    }

    private List<FishBallBillDTO> getFishBallBillDTO(List<FishBallBill> fishBallBills) {
        List<FishBallBillDTO> fishBallBillDTOS = new ArrayList<>();
        for (FishBallBill fishBallBill : fishBallBills) {
            FishBallBillDTO fishBallBillDTO = ObjectConvertUtil.convertObject(fishBallBill, FishBallBillDTO.class);
            fishBallBillDTO.setType(FishBallEnum.getValue(fishBallBillDTO.getRemark()));
            fishBallBillDTOS.add(fishBallBillDTO);
        }
        return fishBallBillDTOS;
    }

}
